Referring to FIG. 1, currently the vast majority of digital television program providers, whether cable, satellite, or terrestrial transmissions, transmit digital content from transmitting station 110 to satellite 125 via channel 120. Satellite 125 retransmits the digital content to one or more satellite dishes 130. Satellite dish 130 may be a large satellite dish owned and operated by a local cable company, or it may a personal satellite dish serving one home. The satellite dish then transmits the content, usually via bi-directional coaxial cable 140, to each cable subscriber via set-top-box (STB) 150. STB 150 demodulates, or extracts information from, the digital signal in the form of packets, or fragments, from the carrier, and performs different signal processing techniques, i.e. error correcting, demultiplexing, descrambling and decoding, to decode the digital programs in the form of video, audio or data, and converts such digital data to analog form to playback such decoded signals on a TV set as shown in FIG. 1. Such connection between the playback device (TV) and the STB are done with cables and use the analog signals produced by the STB.
Referring to FIG. 1a, FIG. 1a illustrates a high level schematic diagram of how digital content is processed for transmission to an end-user. Rich media, e.g. Content 160a, a movie, Content 160b a news cast, Content 160c, a Sports Program, and Content 160d, Data Tables, is first encoded as elementary streams. An elementary stream is the output of a video or audio encoder, and may only contain one type of data, e.g. audio, video, etc. In the MPEG communications protocol, elementary streams are packetized, i.e. broken down into smaller pieces, i.e. packets. In a traditional MPEG system, each transport packet is 188 bytes in length and contains a header, and a payload. The header contains such index information as time index, program identifier, and payload type (whether audio, video, program information, etc.). In addition to being packetized, the various elementary streams of each program are combined or multiplexed (161) into Packetized Elementary Streams 162a, 162b, 162c, and 162d. Each Packetized Elementary Stream contains the combined data (audio, video, date, etc.) of a single program, i.e. Content 160a, 160b, 160c, or 160d. 
Each Packetized Elementary Stream is then further multiplexed (163) into single Transport Stream 164 carrying packets from each Packetized Elementary Stream 162a et al. A transport stream contains packetized data from multiple programs. Transport Stream 164 is broadcast to the consumer and received by the consumer's set top box, STB 165, which demultiplexes Transport Stream 164. When the packets reach the set top box, the set top box demultiplexes, i.e. recombines the packets into single programs, based upon the header information and is able to present the original content to the display unit. The demultiplexer also ensures the desired packets are displayed in the correct chronological order.
Referring to FIG. 1b, FIG. 1b, is an example of a lower level schematic diagram of the creation of a Transport Stream from packetized elementary streams. Elementary Stream 170 represents Program 1. Elementary Stream 175 represents a different program, i.e. Program 2. Multiplexer 180 multiplexes or combines the three elementary streams that compose the audio, video, and data of Program 1 into Single Packetized Elementary stream 180a. Similarly, multiplex 181, multiplexes or combines the three elementary stream that compose the audio, video, and data, of Program 2 into single Packetized Elemental Stream 181a. 
Multiplexer 190 combines both Packetized Elementary Streams 180a and 181a into Single Transport Stream 195 which is what is actually broadcast or transmitted to the end user's STB.
Referring to FIG. 1c, FIG. 1c, illustrates a simplified, sample, MPEG compliant packet. Packet 198 is composed of 2 sections, Header 196 and Payload 197.
In the instant description, co-cast means additional programming, i.e. programming not included in the original transport stream, such as advertising, video clips, music, data, URLs, etc., intended for delivery to one or more handheld devices or any other personal device, whether wired or wireless. Co-cast information is personalized based upon user preferences or user viewing habits. Such co-cast content is transmitted in the form of packets within the transport stream and treated just like the original programming by the set top box.
The content provider, i.e. Cable Company, Satellite Company, television network such as ABC or CBS, movie or television studio, etc. may elect to insert Co-Cast information into the transport stream. Like any other information in the transport stream, co-cast information would be packetized with a header and payload. The header would include the traditional information associated with an MPEG header. However, in addition, the header of co-cast information would include an identifier that the packet is a co-cast packet. The payload of the co-cast packet is similar to the payload of a traditional MPEG packet except that it may also include hypertext links, which is not traditionally seen in MPEG packets.
In a regular MPEG based digital television system, the set top box knows the channel line-up by reading the Payload of the Program Association Table. Said Program Association Table traditionally has a program identifier set to ZERO. In the instant invention, available co-cast content is determined by the STB by reading the payload of the Co-Cast Content Association Table, which is analogous to the Program Association Table. The Co-Cast Content Association Table is identified by the Program Identifier in the header.
Referring to FIG. 2, FIG. 2 illustrates an example of how co-cast programming is multiplexed with regular digital programming. Program 1 or Packetized Elementary Stream 250, Co-Cast 1 or Packetized Elementary Stream 260, and Program 2 or Packetized Elementary Stream 270 are transmitted to Multiplexer 280 which combines the three packetized elementary streams into Single Transport Stream 290.
The concept of personalized programming is a relatively recent one within the field of television programming. Originally, a television viewer had no ability to receive personalized or individualized programming. A television show was broadcast at a certain time. Television viewers were limited to watching the programming at the time the few networks dictated.
Eventually, with the advent of cable and satellite systems, television users had far more choices of programming, but a television viewer could only watch programming at a time and date determined by the cable system.
The first major step in personalizing the television viewing experience was with the introduction and popularization of the Video Cassette Records (VCR). The VCR permitted time shifting of programming, i.e. programming could be recorded at one time for later playback. A major limitation of a VCR was that the VCR didn't so much record specific content, but rather records a specified television channel at a specified time interval. The VCR itself does not necessarily know what is being recorded.
A substantial leap in personalizing the television viewing experience came with the invention of the DVR or digital video recorder. Unlike the VCR, a digital video recorder can be programmed to record specific programming, e.g. all new episodes of a given program.
DVRs took personalization another step further through the use of recommendation engines. Based upon the programming viewed by the television user, many DVR's have the ability to make recommendations as to other programming that the television user might enjoy. However, the recommendation engines have no ability to affect what programming the DVR actually receives.
Conversely, the ultimate expression of a personalized viewing experience is the internet. Each user literally picks and choices what content he or she wishes to view. However, the limitation of the internet is that since it is so individualized, it cannot support the number of digital channels that a cable or satellite can deliver to each individual.